import { dayjs } from 'element-plus'

/** 秒数转为时间
 * @param count 代表 秒数
 * @param format 代表 转换后的格式
 **/
export const countToTime = (count: number, format = 'HH:mm:ss'): string => {
  const opt = {
    'H+': Math.floor(count / 3600).toString(),  // 时
    'm+': Math.floor((count % 3600) / 60).toString(), // 分
    's+': (count % 60).toString() // 秒
  };

  let ret;
  for (let k in opt) {
    ret = new RegExp('(' + k + ')').exec(format);
    if (ret) {
      format = format.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')));
    }
  }

  return format;
}

/** 时间差 转换时分秒
 * @param startDate 代表 开始时间
 * @param endDate 代表 结束时间
 * @param format 代表 转换后的格式
 **/
export const timeDifference = (startDate: string, endDate: string, format = 'HH:mm:ss'): string => {
  const count = dayjs(endDate).unix() - dayjs(startDate).unix()

  return countToTime(count, format)
}
